home *** CD-ROM | disk | FTP | other *** search
Wrap
SHMEM_IGET(3) SHMEM_IGET(3) NNNNAAAAMMMMEEEE sssshhhhmmmmeeeemmmm____ccccoooommmmpppplllleeeexxxx____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt4444, sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt8888, sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt33332222, sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt66664444, sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt111122228888, sssshhhhmmmmeeeemmmm____iiiinnnntttt____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____iiiinnnntttteeeeggggeeeerrrr____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____llllooooggggiiiiccccaaaallll____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____lllloooonnnngggg____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____rrrreeeeaaaallll____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____iiiiggggeeeetttt - Transfers strided data from a specified processing element (PE) SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS C or C++: ####iiiinnnncccclllluuuuddddeeee <<<<mmmmpppppppp////sssshhhhmmmmeeeemmmm....hhhh>>>> vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____iiiiggggeeeetttt((((ddddoooouuuubbbblllleeee ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt ddddoooouuuubbbblllleeee ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____iiiiggggeeeetttt((((ffffllllooooaaaatttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt ffffllllooooaaaatttt ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt33332222((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt66664444((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt111122228888((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____iiiinnnntttt____iiiiggggeeeetttt((((iiiinnnntttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt iiiinnnntttt ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnngggg____iiiiggggeeeetttt((((lllloooonnnngggg ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____iiiiggggeeeetttt((((lllloooonnnngggg ddddoooouuuubbbblllleeee ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg ddddoooouuuubbbblllleeee ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____iiiiggggeeeetttt((((lllloooonnnngggg lllloooonnnngggg ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg lllloooonnnngggg ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____iiiiggggeeeetttt((((sssshhhhoooorrrrtttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt sssshhhhoooorrrrtttt ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; Fortran: IIIINNNNTTTTEEEEGGGGEEEERRRR _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____CCCCOOOOMMMMPPPPLLLLEEEEXXXX____IIIIGGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____DDDDOOOOUUUUBBBBLLLLEEEE____IIIIGGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIIGGGGEEEETTTT4444((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIIGGGGEEEETTTT8888((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIIGGGGEEEETTTT33332222((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIIGGGGEEEETTTT66664444((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIIGGGGEEEETTTT111122228888((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIINNNNTTTTEEEEGGGGEEEERRRR____IIIIGGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____LLLLOOOOGGGGIIIICCCCAAAALLLL____IIIIGGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____RRRREEEEAAAALLLL____IIIIGGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e)))) DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN The iiiiggggeeeetttt routines provide a high-performance method for copying a strided array from the a specified remote PE to a local strided array. The routines return when the data has been copied into the local _t_a_r_g_e_t array. The arguments are as follows: _t_a_r_g_e_t Array to be updated on the local PE. _s_o_u_r_c_e Array containing the data to be copied on the remote PE. _t_s_t The stride between consecutive elements of the _t_a_r_g_e_t array. The stride is scaled by the element size of the _t_a_r_g_e_t array. A value of 1 indicates contiguous data. _t_s_t must be of type integer. If you are calling from Fortran, it must be a default integer value. _s_s_t The stride between consecutive elements of the _s_o_u_r_c_e array. The stride is scaled by the element size of the _s_o_u_r_c_e array. A value of 1 indicates contiguous data. _s_s_t must be of type integer. If you are calling from Fortran, it must be a default integer value. _l_e_n Number of elements in the _t_a_r_g_e_t and _s_o_u_r_c_e arrays. _l_e_n must be of type integer. If you are using Fortran, it must be a constant, variable, or array element of default integer type. _p_e PE number of the remote PE. _p_e must be of type integer. If you are using Fortran, it must be a constant, variable, or array element of default integer type. The _t_a_r_g_e_t and _s_o_u_r_c_e data objects must conform to typing constraints, which are as follows: RRRRoooouuuuttttiiiinnnneeee DDDDaaaattttaaaa TTTTyyyyppppeeee ooooffff _t_a_r_g_e_t aaaannnndddd _s_o_u_r_c_e sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt33332222, sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt4444 Any noncharacter type that has a storage size equal to 32 bits. sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt66664444, sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt8888 Any noncharacter type that has a storage size equal to 64 bits. sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt111122228888 Any noncharacter type that has a storage size equal to 128 bits. sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____iiiiggggeeeetttt Elements of type short. sssshhhhmmmmeeeemmmm____iiiinnnntttt____iiiiggggeeeetttt Elements of type int. sssshhhhmmmmeeeemmmm____lllloooonnnngggg____iiiiggggeeeetttt Elements of type long. sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____iiiiggggeeeetttt Elements of type long long. sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____iiiiggggeeeetttt Elements of type float. sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____iiiiggggeeeetttt Elements of type double. sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____iiiiggggeeeetttt Elements of type long double. SSSSHHHHMMMMEEEEMMMM____CCCCOOOOMMMMPPPPLLLLEEEEXXXX____IIIIGGGGEEEETTTT Elements of type complex of default size. SSSSHHHHMMMMEEEEMMMM____DDDDOOOOUUUUBBBBLLLLEEEE____IIIIGGGGEEEETTTT (Fortran) Elements of type double precision. SSSSHHHHMMMMEEEEMMMM____IIIINNNNTTTTEEEEGGGGEEEERRRR____IIIIGGGGEEEETTTT Elements of type integer. SSSSHHHHMMMMEEEEMMMM____LLLLOOOOGGGGIIIICCCCAAAALLLL____IIIIGGGGEEEETTTT Elements of type logical. SSSSHHHHMMMMEEEEMMMM____RRRREEEEAAAALLLL____IIIIGGGGEEEETTTT Elements of type real. If you are using Fortran, data types must be of default size. For example, a real variable must be declared as RRRREEEEAAAALLLL, RRRREEEEAAAALLLL****4444, or RRRREEEEAAAALLLL((((KKKKIIIINNNNDDDD====4444)))). NNNNOOOOTTTTEEEESSSS See iiiinnnnttttrrrroooo____sssshhhhmmmmeeeemmmm(3) for a definition of the term _r_e_m_o_t_e_l_y _a_c_c_e_s_s_i_b_l_e. EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS The following simple example uses sssshhhhmmmmeeeemmmm____llllooooggggiiiiccccaaaallll____iiiiggggeeeetttt in a Fortran program. Compile this example with the ----llllssssmmmmaaaa compiler option. PROGRAM STRIDELOGICAL LOGICAL SOURCE(10), TARGET(5) SAVE SOURCE ! SAVE MAKES IT REMOTELY ACCESSIBLE DATA SOURCE /.T.,.F.,.T.,.F.,.T.,.F.,.T.,.F.,.T.,.F./ DATA TARGET / 5*.F. / CALL START_PES(2) IF (MY_PE() .EQ. 0) THEN CALL SHMEM_LOGICAL_IGET(TARGET, SOURCE, 1, 2, 5, 1) PRINT*,'TARGET AFTER SHMEM_LOGICAL_IGET:',TARGET ENDIF CALL SHMEM_BARRIER_ALL END SSSSEEEEEEEE AAAALLLLSSSSOOOO iiiinnnnttttrrrroooo____sssshhhhmmmmeeeemmmm(3), sssshhhhmmmmeeeemmmm____ggggeeeetttt(3), sssshhhhmmmmeeeemmmm____iiiixxxxggggeeeetttt(3), sssshhhhmmmmeeeemmmm____qqqquuuuiiiieeeetttt(3) _M_e_s_s_a_g_e _P_a_s_s_i_n_g _T_o_o_l_k_i_t: _M_P_I _P_r_o_g_r_a_m_m_e_r'_s _M_a_n_u_a_l